package com.haredot.utils;

import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Utils {
    /**
     * md5 加密
     * @param rawString
     * @return
     */
    public static String md5(String rawString) {

        try {
            MessageDigest messageDigest = MessageDigest.getInstance("MD5");

            // 将明文  传入到 MessageDigest 对象中
            messageDigest.update(rawString.getBytes(StandardCharsets.UTF_8));

            // 获取 加密后的内容
            byte[] digest = messageDigest.digest();

            StringBuilder sb = new StringBuilder();
            for(byte d : digest) {
                // 将 d  转成 0 ~ FF 之间的任意一个数字
                String ret = Integer.toHexString(d & 0XFF) ;

                if (ret.length() == 1) {
                    sb.append("0");
                }
                sb.append(ret) ;
            }
            return sb.toString() ;
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();

            return  "" ;
        }
    }

    public static void main(String[] args) {

        System.out.println(md5("admin"));
    }
}
